Video content and other data streams can be bandwidth intensive and typically require multiple servers and network links to support a total traffic load. Load balancing among servers and links can increase overall utilization efficiency of network components and quality of service to end-users. Nonetheless, the variable nature of video content rates and other data rates can prevent accurate estimation of data traffic, requiring increased network infrastructure to provide headroom for inefficient load balancing.
For example, video streams are typically high bandwidth transmissions and real-time video streams may be affected by changes in available network bandwidth. A typical video stream MPEG-4 encoded in Standard Definition (SD) format consumes approximately 2.5 Megabits per second (Mbps) for a quality transmission. A typical MPEG-4 encoded video stream in a High Definition (HD) format consumes approximately 10.5 Mbps for a quality transmission. If the IP network allocates insufficient bandwidth to video streams, the quality of services degrades.
Conventionally, high-speed IP networks utilize link aggregation to allocate media streams. Such link aggregation allows multiple physical links of a switch/router to be combined into a logical port that provides much higher bandwidth via lower speed ports and enables distribution of network traffic across the aggregated ports to achieve load balancing. A technique for communicating link aggregation information between switches/routers is described in an industry standard (i.e., the IEEE 803.ad Standard), which describes a protocol for communicating link aggregation information. However, the IEEE 803.ad Standard does not specify an algorithm to be used to assign traffic flows within the individual links of a link aggregation group.
Traditionally, a static load-balancing algorithm is applied that assigns traffic flows based on header information carried in the IP packets. The load-balancing algorithm is typically a static mathematical algorithm. In a particular example, for IP traffic, the algorithm may assign traffic flows based on a combination of factors, including a source IP address, a destination IP address, a source port, a destination port, and a protocol identifier (ID). In an environment that has a large number of small streams with different combinations of factors, the static mathematical algorithm may provide a fairly equal distribution across the aggregated ports. Further, a transmission control protocol (TCP) is adapted to dynamically adapt to available bandwidth in case there is network congestion due to an uneven distribution of traffic loads among the link aggregation ports.
However, such traditional (static) algorithms may not work well for video applications. Such algorithms typically take into account the stream count but not the bandwidth requirements. Since some video streams have variable bit rates, such static algorithms do not account for such variations.